#ifndef __TOC_H__
#define __TOC_H__

#include <string>
#include <vector>
#include <GL/glut.h>

#include "tocUtil.h"
/* #include "tocHuman.h" */

class Toc {
public:
	Toc(void);
	~Toc(void);

	void initialize(void);
	void renderObjects(void);
	void processIdle(void);
	void toggleMapID(void);
	void changeMapScale(GLfloat scalFactor);
private:
	int nMaps;
	int nHumans;
	int mapIdx;
	GLfloat humanColor[3];
	GLfloat mapScale;
	std::vector<std::string> mapList;
	std::vector<class TOCHuman> humanList;
	std::vector<class TOCGhoul> ghoulList;
	TOCHuman *findPotentialVictim(TOCGhoul &ghoul);
	std::vector<TOCGhoul> updateNeighborGhouls(TOCGhoul &ghoul);
	bool removeHuman(TOCHuman *victim);
	/* char mapData[nMaps][80000000]; */

	void setupTexture(void);
	void loadTexture(void);
};

#endif /* __TOC_H__ */
